/* eslint-disable */
import cjConfirm from './cjConfirm.vue'
let defultOptions = {
  title: '',//弹窗标题
  titleCenter: true,//标题是否居中
  message: '',//弹窗内容
  messageCenter: true,//内容是否居中
  showMasker: true,//是否显示透明背景
  clickCloseModal: false,//是否点击透明背景关闭弹窗
  showCancelButton: true,//是否显示取消按钮
  closeOnComfirm: true,//点击确认时关闭弹窗
  closeOnHashChange: true, //页面变化的时候关闭弹窗
  cancelButtonText: '',//取消按钮文本
  confirmButtonText: '',//确认按钮文本
  onConfirm: null,//确认事件回调
  onCancel: null,//取消事件回调
}
let CjConfirm = {}; // 定义插件对象
CjConfirm.install = (Vue, options) => { //Vue的install方法，用于定义vue插件
  // 创建一个VUE构造器
  let lTemp = Vue.extend(cjConfirm);
  // 提供一个在页面上已存在的DOM元素作为Vue实例的挂载目标。
  // 在实例挂载之后，可以通过$vm.$el访问。
  // 如果这个选项在实例化时有用到，实例将立即进入编译过程。否则，需要显示调用vm.$mount()手动开启编译(如下)
  // 提供的元素只能作为挂载点。所有的挂载元素会被vue生成的dom替换。因此不能挂载在顶级元素(html, body)上
  // let $vm = new toastTpl({
  //  el: document.createElement('div')
  // })
  // 实例化VUE实例
  let $vm = new lTemp();
  // 此处使用$mount来手动开启编译。用$el来访问元素，并插入到body中
  let tpl = $vm.$mount().$el;
  document.body.appendChild(tpl);
  Vue.prototype.$cjConfirm = function (options) {
    let curOptions = {...defultOptions};
    $vm.option = Object.assign(curOptions, options);
    $vm.isShow = true;
    $vm.callback = () => {
      $vm.isShow = false;
      $vm.option = defultOptions;
    }
  }
  Vue.prototype.$cjConfirm.checkIsShow = function(){
    return $vm.isShow;
  }
  Vue.prototype.$cjConfirm.hide = function(){
    $vm.isShow = false;
  }
}
//导出Load
export default CjConfirm;
